package Code.Day1_20240918.com.dx.day01;

/**
 * @ClassName Test08
 * @Description 运算符
 * @Author 12994
 * @Date 2024/9/18 18:35
 * @Version 1.0
 **/
public class Test08 {
    /**
     * 算数运算符
     * + - * / % ++ --
     * 复合运算符
     * += -= *= /= %=
     * 关系运算符
     * == != > < >= <=
     * 逻辑运算符
     * &&(与) ||(或) !(非/取反) : NOTICE: 在逻辑运算符中，若第一个操作数能够确定逻辑运算符的表达式，则不再往后计算
     * 如: false && true, 在第一个false计算出之后将直接返回false
     * 同样的, true || false将直接返回true
     * 运算符优先级: ()>算数>关系>逻辑>赋值
     */
    public static void main(String[] args) {
        int a = 23;
        int b = 20;
        System.out.println(a + b);
        // 商
        System.out.println(a / b);
        // 余
        System.out.println(a % b);
        // 自增: a++ 先用再+; ++a 先+再用
        System.out.println(a++);
        // 自减
        System.out.println(--b);

        int x = 10;
        x += 20;
        System.out.println(x);

        // 运算符优先级 -> false
        System.out.println((x == 30) && ((a % b) == 3));

        // 三元运算符
        // 条件表达式 ? true->(也是表达式) : false->
        int min, max;
        min = 8 < 5 ? 8 : 5; // Math.min(8,5);
        max = 8 > 5 ? 8 : 5;
        System.out.println(min);
        System.out.println(max);
    }
}
